package org.niux.aims.service.impl;

import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.Resource;

import org.niux.aims.dao.ILogsDAO;
import org.niux.aims.models.Logs;
import org.niux.aims.service.ILogsService;
import org.niux.aims.vo.LogsVO;
import org.springframework.stereotype.Service;

/**
 * 
 * Copyright (c) 2013,niux<br>
 * All rights reserved.<br>
 * 
 * 文件名称：LogsService.java<br>
 * 摘    要：日志操作类<br>
 * <br>
 * 当前版本：<br>
 * 作    者：梁铭显 Email: <a href="mailto:liangmingxian@gmail.com">liangmingxian@gmail.com</a><br>
 * 完成日期：2013-9-25<br>
 * <br>
 * 取代版本：<br>
 * 原作者  ：<br>
 * 完成日期：2013-9-25<br>
 */
@Service(value="logsService")
public class LogsService implements ILogsService {
	@Resource(name="logsDao")
	private ILogsDAO logsDao;
	
	/**
	 * 
	 * 方法概述：添加日志
	 * 描述：添加日志
	 * @param text
	 * 返回类型：void
	 * 修改人：梁铭显 
	 * 修改时间：2013-9-25
	 */
	public void addLog(String text){
		Logs logs = new Logs();
		logs.setLog(text);
		logs.setDatetime(new Timestamp(System.currentTimeMillis()));
		logsDao.save(logs);
	}
	
	/**
	 * 
	 * 方法概述：获取所有日志数据
	 * 描述：获取所有日志数据
	 * @return
	 * 返回类型：List<Logs>
	 * 修改人：梁铭显 
	 * 修改时间：2013-9-25
	 */
	public List<Logs> findAll(){
		return logsDao.findAll();
	}
	
	/**
	 * 
	 * 方法概述：分页获取日志数据
	 * 描述：分页获取日志数据
	 * @param startPage
	 * @param pageSize
	 * @return
	 * 返回类型：List<LogsVO>
	 * 修改人：梁铭显 
	 * 修改时间：2013-9-25
	 */
	public List<LogsVO> findByPage(int startPage, int pageSize){
		List<Logs> logs = logsDao.findByPage(startPage,pageSize);
		List<LogsVO> logVos = new ArrayList<LogsVO>();
		
		for (Logs log : logs) {
			LogsVO logVo = new LogsVO();
			logVo.setId(log.getId());
			logVo.setLog(log.getLog());
			
			SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			logVo.setDateTime(dateFormat.format(log.getDatetime()));
			
			logVos.add(logVo);
		}
		return logVos;
	}
	
	/**
	 * 
	 * 方法概述：删除所有日志
	 * 描述：删除所有日志
	 * 返回类型：void
	 * 修改人：梁铭显 
	 * 修改时间：2013-9-25
	 */
	public void removeAll(){
		logsDao.removeAll();
	}
}
